﻿using Compass.Wasm.Shared.Categories;
using Compass.Wasm.Shared.Wms;

namespace Compass.Wasm.Shared.Purchases;

public class NavItemDto : BaseDto
{//物料编码
    private string number;
    public string Number { get => number; set { number=value; OnPropertyChanged(); } }
    //中文描述/产品编号
    private string? description;
    public string? Description { get => description; set { description = value; OnPropertyChanged(); } }
    //英文描述
    private string? enDescription;
    public string? EnDescription { get => enDescription; set { enDescription = value; OnPropertyChanged(); } }
    //计量单位
    private Unit_e unit;
    public Unit_e Unit { get => unit; set { unit=value; OnPropertyChanged(); } }//PCS

    private Sbu_e sbu;
    public Sbu_e Sbu { get => sbu; set { sbu=value; OnPropertyChanged(); } }//FS

    //大类
    private Group_e group;
    public Group_e Group { get => group; set { group = value; OnPropertyChanged(); } }

    //是否为消耗件
    private bool consumable;
    public bool Consumable { get => consumable; set { consumable = value; OnPropertyChanged(); } }
    //安全库存
    private double safetyStock;
    public double SafetyStock { get => safetyStock; set { safetyStock=value; OnPropertyChanged(); } }


    //库存
    private double inventory;
    public double Inventory { get => inventory; set { inventory = value; OnPropertyChanged(); } }

    //单位成本
    private double unitCost;
    public double UnitCost { get => unitCost; set { unitCost = value; OnPropertyChanged(); } }

    //
    private double lastCost;
    public double LastCost { get => lastCost; set { lastCost = value; OnPropertyChanged(); } }

    //单位售价
    private double unitPrice;
    public double UnitPrice { get => unitPrice; set { unitPrice = value; OnPropertyChanged(); } }


    private string? vendor;
    public string? Vendor { get => vendor; set { vendor = value; OnPropertyChanged(); }
    }

    //PurchOrderQty
    private int openPo;
    public int OpenPo { get => openPo; set { openPo = value; OnPropertyChanged(); } }

}

//todo:输出时将enum转换成string
public class NavItemNoEnum
{
    public string Number { get; set; }
    public string Description { get; set; }
    public string EnDescription { get; set; }
    public double Inventory { get; set; }
    public double SafetyStock { get; set; }
    public int OpenPo { get; set; }
    public string Sbu { get; set; }
    public string Unit { get; set; }
    public double UnitCost { get; set; }
    public double LastCost { get; set; }
    public double UnitPrice { get; set; }
    public string Vendor { get; set; }
    public bool Consumable { get; set; }
    public string Group { get; set; }
}

public class NavItemString
{
    public string Number { get; set; }
    public string Description { get; set; }
    public string EnDescription { get; set; }
    public string Inventory { get; set; }
    public string SafetyStock { get; set; }
    public string OpenPo { get; set; }
    public string Sbu { get; set; }
    public string Unit { get; set; }
    public string UnitCost { get; set; }
    public string LastCost { get; set; }
    public string UnitPrice { get; set; }
    public string Vendor { get; set; }
    public string Consumable { get; set; }
    public string Group { get; set; }
}